/**
 * 给定数组，将每一条下对交线非升序排列，每一条上对角线非降序排列。
 * 直接模拟就行
 */
class Solution {
public:
    vector<vector<int>> sortMatrix(vector<vector<int>>& grid) {
        using vi = vector<int>;
        int n = grid.size();
        for(int i=0;i<n;++i){
            vi vec;
            for(int j=0;j<n-i;++j){
                vec.emplace_back(grid[j + i][j]);
            }
            sort(vec.begin(), vec.end(), greater<int>());

            for(int j=0;j<n-i;++j){
                grid[j + i][j] = vec[j];
            }
        }

        for(int i=1;i<n;++i){
            vi vec;
            for(int j=0;j<n-i;++j){
                vec.emplace_back(grid[j][j + i]);
            }
            sort(vec.begin(), vec.end());

            for(int j=0;j<n-i;++j){
                grid[j][j + i] = vec[j];
            }
        }
        
        return grid;
    }
};